package com.ansion.commonchat.startup.workmanager.bwork.utils.futures;

import java.util.concurrent.Executor;

/**
 * Created by wanghongjie on 2023/5/5
 * Describe : DirectExecutor 的作用是在当前线程同步地执行提交的任务，而不进行线程切换。
 * 当任务提交给 DirectExecutor 后，它会立即在当前线程执行该任务，而不会创建新的线程或异步执行。
 * 这种执行方式适用于那些不需要并发或异步执行的任务，特别是一些轻量级的、快速完成的操作。
 * <p>
 * 用于一些简单、非耗时的操作，可以避免线程切换的开销，但需要注意防止任务阻塞导致应用程序的响应性下降。
 */
enum BDirectExecutor implements Executor {
    INSTANCE;

    @Override
    public void execute(Runnable command) {
        command.run();
    }

    @Override
    public String toString() {
        return "BDirectExecutor";
    }
}